package com.ribbon.config;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
//import com.netflix.loadbalancer.RoundRobinRule;
import org.springframework.context.annotation.Bean;

// 该配置不可以放在（扫描）根路径下，否则会被所有ribbon客户端共享,无法实现特殊化定制配置

public class RibbonRuleConfig {
    @Bean
    public IRule ribbonRule() {
        // 这里配置Ribbon的负载均衡策略，例如轮询、随机等
        // return new RoundRobinRule(); //轮询
        // return new RetryRule(); //在轮询基础上重试，即这种负载均衡策略带有重试功能
        // return new WeightedResponseTimeRule(); //带有权重功能，权重 — nacos 的 NacosRule ，Nacos还扩展了一个自己的基于配置的权重扩展
        return new RandomRule(); //随机


    }

}
